home *** CD-ROM | disk | FTP | other *** search
-
- For the next symposium about supercomputing on our computing center I
- was asked to make badges with TeX for the participants. Although TeX is
- perhaps not the most suitable tool for such a `visual design' problem my
- visitcards (with our in house logos in METAFONT) made with TeX looked
- very similar to this problem.
-
- It would be nice if the badges can be made by secretaries having no
- experience with TeX at all. So I have made a `badges.tex' file which
- reads all participants names and their institution name from the file
- `addresses.tex'. Both are put on two consecutive lines. (The only thing I
- have to learn them is how to make diacritical symbols.)
-
- I have written a TeX macro \put(x,y,box) which places the badge `box' on
- position x,y of the paper (x number of centimeters from the left margin
- and y the number of centimeters above (negative!) the upper margin) by
- using some dirty tricks from the TeXbook. The essential part of the
- `badge.tex' program now consists of the following loop:
- \newread\addressfile
- \newif\ifGoOn \GoOntrue
-
- \openin\addressfile=addresses
- \ifeof\addressfile\message{Cannot open addresses}\end\fi
-
- \read\addressfile to \text \let\name=\text
- \loop
- \read\addressfile to \text \let\inst=\text
- \immediate\write16{Badge: \name \inst}
- \badge{\name}{\inst}
- \read\addressfile to \text \let\name=\text
- \ifeof\addressfile\GoOnfalse\fi
- \ifGoOn
- \repeat
-
- Here is how \badge puts the new badge on place and ejects the page:
- \newcount\cnt \cnt=0
- \newdimen\X \newdimen\Y \X=0cm \Y=0cm
-
- \def\badge#1#2{
- \advance\cnt by1
- \ifodd\cnt\X=0cm\advance\Y by-\height
- \ifnum\Y<-\vsize\eject\cnt=1\X=0cm\Y=-\height\fi
- \else\advance\X by\width
- \fi
- \put(\X,\Y,% don't leave this percent sign!
- \vbox to \height{
- \kern.5cm
- {\namefont\hbox to\width{\hfill#1\hfill}}
- \vfil % next line is site dependant !!!!!!
- \hbox to \width{\kern.5cm{\tue tue}\hfill{\RC RC}\kern.5cm}
- \vfil % above line is site dependant !!!!!!
- {\addressfont\hbox to\width{\hfill#2\hfill}}
- \kern.5cm%
- })
- }
-
- For those of you who also want to make there badges with TeX I have included
- a shar file containing: badges.tex, a sample addresses.tex file and the
- PostScript result badge.ps (with our logos). (You should change the lines in
- which I use our logos with suitable substitutes for your company!)
-
- Happy Badge-ing!
-
- --Piet
-